package timing.ukulele.flow.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
@ApiModel("开始及完成任务公用的请求体")
public class ExecuteVO implements Serializable {
    // 开始、完成任务选择性传参
    @ApiModelProperty("下个任务有效日期")
    private Date dueDate;

    // 开始任务必传
    @ApiModelProperty("流程定义的key")
    private String processKey;
    @ApiModelProperty("启动用户")
    private String startUser;
    @ApiModelProperty("系统id")
    private String tenantId;

    // 完成任务必传
    @ApiModelProperty("流程实例id")
    private String processInstanceId;
    @ApiModelProperty("当前执行人")
    private String assignee;
    @ApiModelProperty("任务id")
    private String taskId;
    @ApiModelProperty("锁密id")
    private String transactionId;

    // 选择性必传(除流程图已配)
    @ApiModelProperty("下个执行人")
    private String nextAssignee;
    @ApiModelProperty("企业id")
    private String uuid;
    private String departs;
    private String areacode;
    private String roles;
    private String isand;
    private String usertype;
    private String rulecode;
    private String userpara;

    @ApiModelProperty("自定义参数")
    Map<String, Object> params;
    @ApiModelProperty("待生成的多实例任务参数")
    List<MultiTaskVO> instances;
}
